import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from 'node:url' // 推荐使用这个方法，跨平台兼容性更好
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'

// https://vite.dev/config/
export default defineConfig({
  plugins: [vue(),
  // 配置自动导入element plus的组件和api
  AutoImport({
    resolvers:
      [ElementPlusResolver()],
  }),
  Components({
    resolvers:
      [ElementPlusResolver()],
  }),
  createSvgIconsPlugin({
    // 指定需要缓存的图标文件夹
    iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
    // 指定symbolId格式  命名规则icon-[dir]-[name]  dir是文件夹名称 name是文件名称
    symbolId: 'icon-[dir]-[name]',
  }),

  ],
  resolve: {
    alias: {
      // '@': path.resolve(__dirname, './omss/src')
      '@': fileURLToPath(new URL('./src', import.meta.url))

    }
  },
  //配置反向代理
  server: {
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:8000/', //后端服务器地址
        changeOrigin: true, //允许跨域
        // 如果没有rewrite 就是带api的请求路径  /api/xxx
        rewrite: (path) => path.replace(/^\/api/, '')   //重写路径  把所有的带api的请求路径 api替换成空字符串
      }
    }
  }
})
